package org.example.member.dao;


import org.apache.ibatis.annotations.Param;
import org.example.core.to.LoginMemberTo;
import org.example.member.bo.MemberBO;
import org.example.member.dto.MemberDto;
import org.example.member.entity.MemberEntity;
import org.example.member.vo.MemberVo;
import org.example.member.vo.front.MemberInfoVo;
import org.example.member.vo.front.MemberUpdateVo;

import java.awt.*;
import java.util.List;

/**
 * @author xiaojie_cc
 * @version 1.0
 */
public interface MemberDao{

    // 根据手机号获取用户信息
    LoginMemberTo getMemberByPhone(@Param("phone") String phone);

    // 注册会员
    Long addMemberInfo(MemberEntity memberEntity);

    // 获取个人基本信息
    MemberInfoVo getMemberInfo(@Param("memberId") long memberId);

    // 修改用户头像
    int updateHeaderMember(@Param("header") String header, @Param("memberId") long memberId);

    // 修改用户基本信息
    int updateMemberInfo(@Param("vo") MemberUpdateVo memberUpdateVo, @Param("memberId") long memberId);

    List<MemberVo> list(MemberDto memberDto);

    void updateMemberPassword(@Param("password") String password, @Param("id") Long id);

    void updateStatus(MemberBO memberBO);
}
